/**
 * EconomyCard Class stores and manages current economy buying/selling will call
 * on this object to access current prices
 * 
 * @author michal
 * 
 */
public class EconomyCard {

  String economy;
  int    changeConsumerMarket;
  int    drillingRigBuy;
  int    drillingRigSell;
  int    gasStationBuy;
  int    gasStationSell;
  int    refineryBuy;
  int    refinerySell;
  int    oilWellSell;

  /**
   * Constructor for objects of class EconomyCard
   * 
   * @param changeConsumerMarket
   * @param drillingRigBuy
   * @param drillingRigSell
   * @param gasStationBuy
   * @param gasStationSell
   * @param refineryBuy
   * @param refinerySell
   * @param oilWellSell
   */
  public EconomyCard() {
    // these are default values when game starts
    this.economy = "Recovery";
    this.changeConsumerMarket = 0;
    this.drillingRigBuy = 5;
    this.drillingRigSell = 3;
    this.gasStationBuy = 48;
    this.gasStationSell = 24;
    this.refineryBuy = 64;
    this.refinerySell = 30;
    this.oilWellSell = 30;
  }

  /**
   * This method sets sets the assets prices to depression economy
   */
  public void depression() {
    this.economy = "Depression";
    this.changeConsumerMarket = -2;
    this.drillingRigBuy = 4;
    this.drillingRigSell = 2;
    this.gasStationBuy = 32;
    this.gasStationSell = 18;
    this.refineryBuy = 50;
    this.refinerySell = 24;
    this.oilWellSell = 20;
    // not quite sure how we will manage changing economy
  }

  /**
   * This method sets sets the assets prices to downturn economy
   */
  public void downturn() {
    this.economy = "Downturn";
    this.changeConsumerMarket = 2;
    this.drillingRigBuy = 12;
    this.drillingRigSell = 8;
    this.gasStationBuy = 75;
    this.gasStationSell = 45;
    this.refineryBuy = 120;
    this.refinerySell = 80;
    this.oilWellSell = 60;
  }

  /**
   * This method sets sets the assets prices to expansion economy
   */
  public void expansion() {
    this.economy = "Downturn";
    this.changeConsumerMarket = 4;
    this.drillingRigBuy = 9;
    this.drillingRigSell = 5;
    this.gasStationBuy = 66;
    this.gasStationSell = 32;
    this.refineryBuy = 96;
    this.refinerySell = 60;
    this.oilWellSell = 50;
  }

  /**
   * This method sets sets the assets prices to prosperity economy
   */
  public void prosperity() {
    this.economy = "Prosperity";
    this.changeConsumerMarket = 7;
    this.drillingRigBuy = 16;
    this.drillingRigSell = 12;
    this.gasStationBuy = 100;
    this.gasStationSell = 60;
    this.refineryBuy = 160;
    this.refinerySell = 120;
    this.oilWellSell = 75;
  }

  /**
   * This method sets sets the assets prices to rapid growth economy
   */
  public void rapidGrowth() {
    this.economy = "Rapid Growth";
    this.changeConsumerMarket = 6;
    this.drillingRigBuy = 14;
    this.drillingRigSell = 9;
    this.gasStationBuy = 88;
    this.gasStationSell = 50;
    this.refineryBuy = 132;
    this.refinerySell = 90;
    this.oilWellSell = 65;
  }

  /**
   * This method sets sets the assets prices to recession economy
   */
  public void recession() {
    this.economy = "Recession";
    this.changeConsumerMarket = 0;
    this.drillingRigBuy = 8;
    this.drillingRigSell = 4;
    this.gasStationBuy = 55;
    this.gasStationSell = 32;
    this.refineryBuy = 80;
    this.refinerySell = 32;
    this.oilWellSell = 45;
  }

  /**
   * This method sets sets the assets prices to recovery economy
   */
  public void recovery() {
    this.economy = "Recovery";
    this.changeConsumerMarket = 3;
    this.drillingRigBuy = 5;
    this.drillingRigSell = 3;
    this.gasStationBuy = 48;
    this.gasStationSell = 24;
    this.refineryBuy = 64;
    this.refinerySell = 30;
    this.oilWellSell = 30;
  }

  /**
   * @return the drillingRigBuy
   */
  public int getDrillingRigBuy() {
    return drillingRigBuy;
  }

  /**
   * @return the drillingRigSell
   */
  public int getDrillingRigSell() {
    return drillingRigSell;
  }

  /**
   * @return the gasStationBuy
   */
  public int getGasStationBuy() {
    return gasStationBuy;
  }

  /**
   * @return the gasStationSell
   */
  public int getGasStationSell() {
    return gasStationSell;
  }

  /**
   * @return the refineryBuy
   */
  public int getRefineryBuy() {
    return refineryBuy;
  }

  /**
   * @return the refinerySell
   */
  public int getRefinerySell() {
    return refinerySell;
  }

  /**
   * @return the oilWellSell
   */
  public int getOilWellSell() {
    return oilWellSell;
  }

}
